package org.javaongems.client.vcl;

public interface ControlListener {
	// Delphi control delegates
	public void onClick(Control sender);
	public void onDblClick(Control sender);
	
	public void onStartDrag(Control sender);
	public void onDragDrop(Control sender, Control source, int x, int y);
	public boolean onDragOver(Control sender, Control source, int x, int y, int dragState);
	public void onEndDrag(Control sender, Control source, int x, int y);
	
	public void onMouseDown(Control sender, int buttonState, int shiftState, int x, int y);
	public void onMouseMove(Control sender, int buttonState, int shiftState, int x, int y);
	public void onMouseUp(Control sender, int buttonState, int shiftState, int x, int y);
	
	public boolean onCanResize(Control sender, int newWidth, int newHeight);
	public void onResize(Control sender);
}